﻿using Model.BusinessModel.InPut;
using Model.BusinessModel.OutPut;
using Model.BusinessModel.OutPut.sys;
using Model.DomainModel.Sys;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Utility;

namespace DomainService.IService.Sys
{
    /// <summary>
    /// 系统服务接口
    /// </summary>
    public interface ISysSystemService
    {
        /// <summary>
        ///  获取项目系统数据
        /// </summary>
        /// <param name="corporationKey">公司key</param>
        /// <returns></returns>
        List<SysSystemOutPut> GetSystemList(string? corporationKey);

        /// <summary>
        /// 获取当前登录人员所在公司的所有系统
        /// </summary>
        /// <param name="corporationKey">公司key</param>
        /// <returns>返回所有系统</returns>
        ReceiveStatus<SelectOutPut> GetSystemByCorporationKey(string corporationKey);

        /// <summary>
        /// 新增系统
        /// </summary>
        /// <param name="sysSystem">系统数据</param>
        ReceiveStatus Insert(SysSystem sysSystem);

        /// <summary>
        /// 修改系统
        /// </summary>
        /// <param name="sysSystem">系统数据</param>
        ReceiveStatus Update(SysSystem sysSystem);

        /// <summary>
        /// 设置系统是否启用
        /// </summary>
        /// <param name="updateIsOpenInPut">修改模型</param>
        /// <returns></returns>
        ReceiveStatus SetSystemIsOpen(UpdateIsOpenInPut updateIsOpenInPut);
    }
}
